/* 
 * File:   TablaHash.h
 * Author: mari
 *
 *dic2005  Created on 5 de septiembre de 2010, 11:00
 */

#ifndef TABLAHASH_H
#define	TABLAHASH_H
#include <iostream>
#include <string>
#include <fstream>
using namespace std;

typedef struct {string nombre;}Verdura;

class TablaHash {
    struct Cubeta{
        Verdura datos[2];
        long posAreaSat;
    };

    Cubeta cubetaTemp;


    int tamCubeta(Cubeta c){return sizeof(c);}
    void leerCubeta(ifstream &is,Cubeta &c){ is.read((char *),tamCubeta());}
    void escribirCubeta(ofstream &of,const Cubeta &c){of.write((const char*)&c,tamCubeta());}

public:
    TablaHash();
    TablaHash(const TablaHash& orig);
    ~TablaHash();
    void insertar(Verdura &v);

};
TablaHash::TablaHash(){

    //Iniciar la cubeta
    for(int i=0;i<2;i++){
        cubetaTemp.datos[i]='\'0';
    }
    cubetaTemp.posAreaSat=-1;

    //crear fichero area primarea con n cubetas vacias
    ofstream os("verduras.prim");
    for(int c=0;c<5;c++)
        escribirCubeta(os,cubetaTemp);
    os.close();

    //crear Fichero de Saturacion vacio
    os.open("verduras.sat");
    os.close;
}
void TablaHash::insertar(Verdura &v){
    bool insertado =false;
    int fun;
    //fun=dameNumero(v.nombre)%tamTabla;
}

#endif	/* TABLAHASH_H */

